#ifndef __CORE_MEMORY_STRING_H__
#define __CORE_MEMORY_STRING_H__

/**
 *  core/memory/string.h
 *  prace s textovymi retezci a pameti
 */

#include <ctype.h>
#include <core/io/getchar.h>

#define POS_NOT_FOUND (-1)

void far *memset      (void far *s, int c, unsigned count);
void far *memcpy      (void far *dest, const void far *src, unsigned int count);
int       memcmp      (const void far *cs, const void far *ct, unsigned count);

char far *strcat      (char far *dest, const char far *src);
int       strcmp      (char far *d, char far *s);
char far *strcpy      (char far *dest, const char far *src);
char far *strncpy     (char far *dest, const char far *src, unsigned count);
int       strlen      (const char far *str);
char far *strtoupper  (const char far *src, char far *dest);
char far *strtolower  (const char far *src, char far *dest);
void      strput      (const char far *str);
void      puts        (const char far *str);
int       pos         (const char far *s, char c);
int       l_pos       (const char far *s, char c);
char far *gets        (char far *cs);
char far *_gets       (char far *cs, int size);
char     *far2char    (const char far *in, char *out);
char far *char2far    (const char *in, char far *out);

#include <source/core/memory/string.c>

#endif
